package com.inns.position.redis.service;

import com.inns.position.kafka.bean.LocationInfo;
import com.inns.position.kafka.bean.LocationRealTimeInfo;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * Created by phoenix on 2018/4/21.
 */
public interface RealTimeDataService {

    Set<String> getBuildIds();

    void updateUserData(LocationInfo locationInfo);

    void updateUserPoiData(LocationInfo locationInfo);

    void updateBuildData(LocationInfo locationInfo);

    Map<String, Long> getBuildImsiListByTime(String buildId, long startTime);

    boolean isNewUser(String imsi, String buildId, long splitTime);

    List<Map<String, String>> getAllPositionInfoByBuildId(String buildId);

    Map<String, String> getPositionInfoByIMSI(String buildId, String imsi);

    LocationRealTimeInfo getRealTimeInfoByIMSI(String buildId, String imsi);

    LocationRealTimeInfo getRealTimeInfoByPoi(String buildId, String imsi, Integer poi);

    Map<String, LocationRealTimeInfo> getRealTimeInfoPoiByIMSI(String buildId, String imsi);

    Map<String, String> getStatisticsInfoByBuildId(String buildId);
}
